VT-d: Fix ATS enabling for device assignment
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 19 May 2010 07:22:06 +0000 (08:22 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 19 May 2010 07:22:06 +0000 (08:22 +0100)
commit238deec7a647020bd882780ef18f1f0cd06494ee
treefdae3a71805d051dce8df9243af945fb57d5c460
parent7e62eca7a19e2c2e9c8e64af318750415636c1b8
VT-d: Fix ATS enabling for device assignment

Currently, Xen only enables ATS in Xen booting. When an ATS capable
device is assigned to guest, ATS is actually not enabled because FLR
before assignment causes it to be disabled. Thus ATS cannot be used in
guest. This patch enables ATS in domain_context_mapping. This ensures
ATS is enabled in assignment because FLR is earlier than
domain_context_mapping call. Therefore ATS can be used in guest. This
patch also implements disable_ats_device to disable ATS when the
device is deassigned from a domain.

Signed-off-by: Weidong Han <weidong.han@intel.com>
xen/drivers/passthrough/vtd/ia64/ats.c
xen/drivers/passthrough/vtd/iommu.c
xen/drivers/passthrough/vtd/x86/ats.c